In many companies with complex high technology products, the renewal of product architectures can be a very arduous process. It is common that a successful technical asset in the beginning turns out to be a significant barrier to renewing the company. This results in legacy gradually taking control over the decisions and real changes not being made until the situation becomes critical.
Therefore, in recent times, such companies have been investigating solutions to this problem. One such solution is the use of modular architectures, wherein a device consists of a number of components, each responsible for a different application or service, connected by a network interconnect. An example of such a modular architecture is that of Network on a Terminal Architecture (NoTA).
In NoTA each component has mapped to it a service/services or application/applications and a communication stack, with each communications stack connected to the network interconnect. FIG. 1 shows two interconnected NoTA communications stacks that logically enable two services to communicate. The first communication stack 1 comprises a first network stack 2, first middleware 3, a first operating system 4 and first bindings 5, and enables the first service 6 to communicate with a second service 7. Likewise, the second communication stack 8 comprises a second network stack 9, second middleware 10, a second operating system 11 and second bindings 12, and enables the second service 7 to communicate with the first service 6. The two communication stacks are connected through a network 13.
In this case the term network stack may relate to the first four layers of the Open Systems Interconnection Basic Reference Model (OSI Model). The first four layers of the OSI model are often known as the physical layer, the data link layer, the network layer and the transport layer. These four layers deal with the transport of data between applications and services and the network.
Middleware generally relates to software layers that mediate interaction between applications or services so that they can exchange data. The provision of middleware in a system also simplifies application development, by providing functions, such as masking the heterogeneity and distribution of the underlying hardware and operating systems, and the hiding of low-level programming details.
A NoTA hardware organisation of an electronic device may comprise a number of components connected through a network, each implementing a different application or service.
Each component may contain a microprocessor to which an application or service, and a NoTA communications stack (as in FIG. 1) may be mapped. Each component may further comprise a physical network connection block to receive data from the network switch and a memory to store data. The microprocessor, the physical network connection block and the memory may all be connected to a BUS or another kind of communication network.
One main problem that exists with conventional modular architectures is that the components contain many implementation layers (such as those in FIG. 1) with complex functionality. Therefore, the automatic implementation of these layers tends to result in a large code footprint, slow execution due to the component processor having to process the network traffic loads, and low power efficiency. Hence, such modular architectures tend not to be very competitive when compared to dedicated communication implementations with fewer channels.
Furthermore, generally, contemporary modular components are not truly independent, but instead tend to have interdependencies with other components in the system. This prevents, for example, optimal power management, due to more than one component being required to perform one task that might ideally be performed by a single component.
Another issue with contemporary modular components is that often the component processor is also responsible for moving incoming data to the memory. This means that the processor is unavailable for performing other more important tasks during this time.
Besides the renewal of architectures, another important issue that affects companies with complex high technology products is how to enable vendors to bring their intellectual property (IP) to a particular architecture. Traditionally, this has been difficult due to the confidentiality of future device architectures. Moreover, if a vendor develops IP for an existing architecture they may be too late, because new designs are likely to utilise new architectures.